package com.bicon.base.data.pojo.botu;

import java.math.BigDecimal;
import java.util.Date;
import com.baomidou.mybatisplus.annotations.TableField;
import com.baomidou.mybatisplus.activerecord.Model;
import com.baomidou.mybatisplus.annotations.TableName;
import java.io.Serializable;

/**
 * <p>
 * 订单
 * </p>
 *
 * @author zhoutyianqi
 * @since 2018-07-25
 */
@TableName("t_m_order")
public class TMOrder extends Model<TMOrder> {

    private static final long serialVersionUID = 1L;

    /**
     * 主键ID
     */
    private String id;
    /**
     * 总订单id
     */
    @TableField("main_order_no")
    private String mainOrderNo;
    /**
     * 订单号
     */
    @TableField("order_no")
    private String orderNo;
    /**
     * 店铺id
     */
    @TableField("store_id")
    private String storeId;
    /**
     * 店铺名称
     */
    @TableField("store_name")
    private String storeName;
    /**
     * 用户id
     */
    @TableField("user_id")
    private String userId;
    /**
     * 用户账号
     */
    private String account;
    /**
     * 订单状态（0:提交订单前, 1:待支付, 2:待发货, 3:已发货, 4:已完成, 5:已关闭, 6:已取消, 7:交易中, 8:退款中,）
     */
    @TableField("order_state")
    private Integer orderState;
    /**
     * 订单金额
     */
    @TableField("order_money")
    private BigDecimal orderMoney;
    /**
     * 运费金额
     */
    @TableField("order_freight")
    private BigDecimal orderFreight;
    /**
     * 优惠金额
     */
    @TableField("order_discount")
    private BigDecimal orderDiscount;
    /**
     * 支付金额
     */
    @TableField("order_pay_amount")
    private BigDecimal orderPayAmount;
    /**
     * 支付方式（0：余额，1：支付宝，2：微信）
     */
    @TableField("pay_type")
    private Integer payType;
    /**
     * 配送方式（0：普通快递，1：上门自提）
     */
    @TableField("distribution_way")
    private Integer distributionWay;
    /**
     * 评价状态（0：未评价，1：部分评价，2：已评价）
     */
    @TableField("comment_state")
    private Integer commentState;
    /**
     * 售后状态（0：未售后，1：售后中，2：退款中）
     */
    @TableField("after_sale_state")
    private Integer afterSaleState;
    /**
     * 是否需要发票（0:不需要发票, 1:需要发票）
     */
    @TableField("need_invoice")
    private Integer needInvoice;
    /**
     * 发票ID
     */
    @TableField("invoice_id")
    private String invoiceId;
    /**
     * 买家留言
     */
    @TableField("buyer_message")
    private String buyerMessage;
    /**
     * 订单取消原因
     */
    @TableField("cancel_reason")
    private String cancelReason;
    /**
     * 备注
     */
    private String remark;
    /**
     * 逻辑删除（0正常，1删除）
     */
    @TableField("logic_delete")
    private String logicDelete;
    /**
     * 创建时间
     */
    @TableField("create_date")
    private Date createDate;
    /**
     * 更新时间
     */
    @TableField("update_date")
    private Date updateDate;


    public String getId() {
        return id;
    }

    public void setId(String id) {
        this.id = id;
    }

    public String getMainOrderNo() {
        return mainOrderNo;
    }

    public void setMainOrderNo(String mainOrderNo) {
        this.mainOrderNo = mainOrderNo;
    }

    public String getOrderNo() {
        return orderNo;
    }

    public void setOrderNo(String orderNo) {
        this.orderNo = orderNo;
    }

    public String getStoreId() {
        return storeId;
    }

    public void setStoreId(String storeId) {
        this.storeId = storeId;
    }

    public String getStoreName() {
        return storeName;
    }

    public void setStoreName(String storeName) {
        this.storeName = storeName;
    }

    public String getUserId() {
        return userId;
    }

    public void setUserId(String userId) {
        this.userId = userId;
    }

    public String getAccount() {
        return account;
    }

    public void setAccount(String account) {
        this.account = account;
    }

    public Integer getOrderState() {
        return orderState;
    }

    public void setOrderState(Integer orderState) {
        this.orderState = orderState;
    }

    public BigDecimal getOrderMoney() {
        return orderMoney;
    }

    public void setOrderMoney(BigDecimal orderMoney) {
        this.orderMoney = orderMoney;
    }

    public BigDecimal getOrderFreight() {
        return orderFreight;
    }

    public void setOrderFreight(BigDecimal orderFreight) {
        this.orderFreight = orderFreight;
    }

    public BigDecimal getOrderDiscount() {
        return orderDiscount;
    }

    public void setOrderDiscount(BigDecimal orderDiscount) {
        this.orderDiscount = orderDiscount;
    }

    public BigDecimal getOrderPayAmount() {
        return orderPayAmount;
    }

    public void setOrderPayAmount(BigDecimal orderPayAmount) {
        this.orderPayAmount = orderPayAmount;
    }

    public Integer getPayType() {
        return payType;
    }

    public void setPayType(Integer payType) {
        this.payType = payType;
    }

    public Integer getDistributionWay() {
        return distributionWay;
    }

    public void setDistributionWay(Integer distributionWay) {
        this.distributionWay = distributionWay;
    }

    public Integer getCommentState() {
        return commentState;
    }

    public void setCommentState(Integer commentState) {
        this.commentState = commentState;
    }

    public Integer getAfterSaleState() {
        return afterSaleState;
    }

    public void setAfterSaleState(Integer afterSaleState) {
        this.afterSaleState = afterSaleState;
    }

    public Integer getNeedInvoice() {
        return needInvoice;
    }

    public void setNeedInvoice(Integer needInvoice) {
        this.needInvoice = needInvoice;
    }

    public String getInvoiceId() {
        return invoiceId;
    }

    public void setInvoiceId(String invoiceId) {
        this.invoiceId = invoiceId;
    }

    public String getBuyerMessage() {
        return buyerMessage;
    }

    public void setBuyerMessage(String buyerMessage) {
        this.buyerMessage = buyerMessage;
    }

    public String getCancelReason() {
        return cancelReason;
    }

    public void setCancelReason(String cancelReason) {
        this.cancelReason = cancelReason;
    }

    public String getRemark() {
        return remark;
    }

    public void setRemark(String remark) {
        this.remark = remark;
    }

    public String getLogicDelete() {
        return logicDelete;
    }

    public void setLogicDelete(String logicDelete) {
        this.logicDelete = logicDelete;
    }

    public Date getCreateDate() {
        return createDate;
    }

    public void setCreateDate(Date createDate) {
        this.createDate = createDate;
    }

    public Date getUpdateDate() {
        return updateDate;
    }

    public void setUpdateDate(Date updateDate) {
        this.updateDate = updateDate;
    }

    @Override
    protected Serializable pkVal() {
        return this.id;
    }

    @Override
    public String toString() {
        return "TMOrder{" +
        "id=" + id +
        ", mainOrderNo=" + mainOrderNo +
        ", orderNo=" + orderNo +
        ", storeId=" + storeId +
        ", storeName=" + storeName +
        ", userId=" + userId +
        ", account=" + account +
        ", orderState=" + orderState +
        ", orderMoney=" + orderMoney +
        ", orderFreight=" + orderFreight +
        ", orderDiscount=" + orderDiscount +
        ", orderPayAmount=" + orderPayAmount +
        ", payType=" + payType +
        ", distributionWay=" + distributionWay +
        ", commentState=" + commentState +
        ", afterSaleState=" + afterSaleState +
        ", needInvoice=" + needInvoice +
        ", invoiceId=" + invoiceId +
        ", buyerMessage=" + buyerMessage +
        ", cancelReason=" + cancelReason +
        ", remark=" + remark +
        ", logicDelete=" + logicDelete +
        ", createDate=" + createDate +
        ", updateDate=" + updateDate +
        "}";
    }
}
